package ejb.contentManagement;

import java.util.List;

import ejb.dto.ExcursionAvailabilityDTO;

public interface ExcursionAvailabilityMgr {

	/**
	 * Return ExcursionAvailabilityDTO of ExcursionAvailability identified by <code>id</code>
	 * @param id
	 * @return ExcursionAvailabilityDTO
	 */
	ExcursionAvailabilityDTO getExcursionAvailabilityDTO(int id);

	/**
	 * Return all ExcursionAvailabilityDTO
	 * @return all ExcursionAvailabilityDTO
	 */
	List<ExcursionAvailabilityDTO> getAllExcursionAvailabilitiesDTO();

	/**
	 * Delete ExcursionAvailability identified by <code>id</code> from database
	 * @param id
	 * @return <true> if the operation on database is successful, <false> if not
	 */
	boolean deleteExcursionAvailability(int id);

	/**
	 * Insert ExcursionAvailability identified by <code>newExcursionAvailability</code> in database
	 * @param newExcursionAvailability
	 * @return <true> if the operation on database is successful, <false> if not
	 */
	boolean insertExcursionAvailability(
			ExcursionAvailabilityDTO newExcursionAvailability);

	/**
	 * Update ExcursionAvailability identified by <code>updatedExcursionAvailability</code> in database
	 * @param updatedExcursionAvailability
	 * @return <true> if the operation on database is successful, <false> if not
	 */
	boolean updateExcursionAvailability(
			ExcursionAvailabilityDTO updatedExcursionAvailability);

	/**
	 * Return all ExcursionAvailabilityDTO of Excursion identified by <code>excursionId</code>
	 * @param excursionId
	 * @return all ExcursionAvailabilityDTO of one Excursion
	 */
	List<ExcursionAvailabilityDTO> getAllExcursionAvailabilitiesDTO(int excursionId);



}
